"""
定义测试类，添加测试方法，测试 查询员工接口
"""
from api.ihrmEmpManageApi import EmpManageApi
from common.assertTools import common_assert
from common.dbTools import DBTools
from common.getHeader import get_header
from config import EMP_ID


class TestQueryEmp(object):
    def setup_class(self):
        self.emp = EmpManageApi()  # 创建 实例
        self.req_header = get_header()  # 获取请求头

    def setup(self):
        # 添加一个 员工id，这个员工id，会在后续的 查询员工接口中使用
        DBTools.db_iud(f"insert into bs_user(id, mobile, username) values({EMP_ID}, '18946327843', '哈哈');")

    def teardown(self):
        # 测试 结束后，删除 上面插入的 那条记录
        DBTools.db_iud(f"delete from bs_user where id = '{EMP_ID}';")

    def test01_query_success(self):
        """查询成功"""
        resp = self.emp.query_emp(EMP_ID, self.req_header)
        print("查询员工成功：", resp.json())
        # 断言
        common_assert(resp, 200, True, 10000, "操作成功")

    def test02_emp_id_not_exists(self):
        """查询员工id 不存在"""

        # 一定不能使用上 面 setup中添加的个 员工id
        resp = self.emp.query_emp("47389274392", self.req_header)
        print("查询员工id不存在：", resp.json())
        # 断言
        common_assert(resp, 200, False, 20005, "查询员工失败")
